Our Faculty and Staff
From exploring the intersection of architecture and cyber-physical systems to automatic bug fixing, our faculty work across discplines and borders to take on the real, tough technical challenges inherent to modern software.
Faculty
Dr. Jonathan Aldrich
Professor
Language Design • Program Verification • Object-Oriented Foundations • Software Design Constraints Specializes in programming language approaches to software verification

Dr. Andrew Begel
Associate Professor
Human Aspects • Neurodiversity • Accessibility • HCI • Collaboration Tools • Organizational Behavior Specializes in understanding human factors in software engineering practices
Dr. Travis Breaux
Assistant Professor
Requirements Engineering • Software Design • Privacy and Security • Policy Compliance Specializes in engineering secure systems that meet regulatory requirements

Dr. Fraser Brown
Assistant Professor
Program Correctness • Compiler Verification • Systems Security • Cryptographic Proof Systems • Bug Finding Specializes in verification and security techniques for complex software systems, including browser JITs and cryptographic compilers
Dr. David Garlan
Professor
Software Architecture • Pervasive Computing • Self-Healing Systems • Formal Methods Specializes in architectural approaches for robust adaptive systems

Dr. Vincent Hellendoorn
Assistant Professor
Machine Learning • Program Synthesis • Learned Program Analysis Specializes in AI-based approaches to code understanding and generation
Dr. James Herbsleb
Professor
Software Teams • Open Source • Collaboration • Coordination • Global Development Specializes in socio-technical aspects of distributed software development

Dr. Eunsuk Kang
Assistant Professor
Software Design • Assurance • Modeling • Verification • Security • Cyber-Physical Systems Specializes in design methods for secure safety-critical systems
Dr. Christian Kästner
Associate Professor
Variability • Reuse • Modularity • Program Analysis • Program Comprehension Specializes in program comprehension and analysis techniques for modular software systems

Dr. Claire Le Goues
Professor
Software Quality • Defect Detection • Program Analysis • Automatic Bug Repair Specializes in automated techniques for software evolution and bug fixing

Dr. Heather Miller
Assistant Professor
Language Design • Distributed Programming • Distributed Runtimes • Data Consistency Specializes in programming models for reliable distributed systems
Dr. Brad Myers
Professor
UI • Programming Environments • API Usability • End-User Programming • DevX Specializes in human-centered approaches to programming tools and interfaces